# 函数执行时，当需要处理变量时 会：
# 1.先查看 函数内部 是否存在 指定名称 的局部变量，若有，直接使用
# 2.若上一步未找到，则查找函数外部是否存在 指定名称 的全局变量，若有，直接使用
# 3.如果还没有，程序报错

# 注意：全局变量最好放在该页面的最上面，防止执行时找不到全局变量

'''
# 此方法只能读数据，不能修改
def demo1():
    print(num)


num = 10
demo1()
# num = 10  全局变量放在后面，执行函数时没找到，报错
'''


def demo2():
    # 加上global后,就可以修改全局变量
    global num
    print(f"demo2函数里边 修改前{num},地址{id(num)}")
    num = 2
    print(f"demo2函数里边 修改后{num},地址{id(num)}")


num = 10
print(f"函数调用前{num},地址{id(num)}")
demo2()
print(f"函数调用后{num},地址{id(num)}")
